Program Understanding A Constraint Satisfaction Modeling Framework Understanding as Plan Recognition
نویسندگان
چکیده
Di erent program understanding algorithms often use di erent representational frameworks and take advantage of numerous heuristic tricks This situation makes it is di cult to compare these approaches and their performance This paper addresses this problem by proposing constraint sat isfaction as a general framework for describing program understanding algorithms demonstrating how to tranform a relatively complex existing program understanding algorithm into an instance of a constraint satisfaction problem and showing how this facilitates better understanding of its performance Plan recognition is the task of interpreting the actions of agents in the environment in the context of the knowledge we possess about how action occurs in the world and why The recogni tion task involves constructing a mapping possibly partial between an existing repository of plan and domain knowledge and a set of dynamic observations of a subset of the actions taken toward a goal Program understanding can be viewed as a special case of plan recognition where the task is to recognize the plans programmers have used in constructing a particular piece of legacy source code However program understanding di ers from generalized plan recognition in that a complete set of action observations is the basis of goal determination This paper discusses in detail how this di erence leads to inadequacies in applying typical plan recognition algorithms to program understanding Program understanding can instead be viewed as a special case of plan recognition which is particularly amenable to constraint satisfaction techniques
منابع مشابه
Contents 1 A Constraint - Satisfaction Framework for Evaluating Program
Di erent program understanding algorithms often use di erent representational frameworks and take advantage of numerous heuristic tricks. This situation makes it is di cult to compare these approaches and their performance. This paper addresses this problem by proposing constraint satisfaction as a general framework for describing program understanding algorithms, demonstrating how to tranform ...
متن کاملA Method of Program Understanding using Constraint Satisfaction for Software Reverse Engineering
The process of understanding a source code in a high level programming language is a complex cognitive task The provision of helpful decision aid subsystems would be of great bene t to software maintainers Given a library of program plan templates generating a partial understanding of a piece of software source code can be shown to correspond to the construction of mappings between segments of ...
متن کاملA Constraint-Satisfaction Approach for 3-D Object Recognition by Integrating 2-D and 3-D Data,
We present a framework for recognition of 3-D objects by integrating 2-D and 3-D sensory data. The major thrust of this work is to e ciently utilize all relevant data, both 2-D and 3-D, in the early stages of recognition, in order to reduce the computational requirements of the recognition process. To achieve this goal, we formulate the problem as a Constraint-Satisfaction problem (CSP). Rather...
متن کاملThe complexity of constraint satisfaction: an algebraic approach
Many computational problems arising in artificial intelligence, computer science and elsewhere can be represented as constraint satisfaction and optimization problems. In this survey paper we discuss an algebraic approach that has proved to be very successful in studying the complexity of constraint problems. 1 Constraint satisfaction problems The constraint satisfaction problem (CSP) is a powe...
متن کاملConstraint-based Program Plan Recognition in Legacy Code
Keywords: AI and reverse engineering, program analysis and understanding, legacy systems. Paper type: new research in the area of AI and SE.
متن کامل